/*
 * File: som_base.h
 * @Brief: The basic header file about SOM (Supervisied Optimation Method) lib.
 * @Author: Mr.Charley(Chinese name: Chenglin Jia).
 * @Version: 1.0.
 * @Date: 2024/7/22.
 */

#ifndef SOM_BASE_H
#define SOM_BASE_H

 // Including the common header file from standard library.
#include <stdlib.h>
#include <stdio.h>
#include <stddef.h>
#include <stdbool.h>

// the header file from OpenCV.
#include "opencv2/core/core_c.h"

// A macro definition of the API of SOM.
#ifdef SOM_BUILD_DLL
#    ifdef __cplusplus
#      define SOM_EXPORT extern "C" __declspec(dllexport)
#    else
#      define SOM_EXPORT extern __declspec(dllexport)
#    endif
#else
#    ifdef __cplusplus
#      define SOM_EXPORT extern "C" __declspec(dllimport)
#    else
#      define SOM_EXPORT extern __declspec(dllimport)
#    endif
#endif

#define BUFF_SIZE 256  // the size of Buffer zone
#endif // !SOM_BASE_H

